package com.iwhalecloud.citybrain.flow.platform.manager.domain.repository;

import com.github.pagehelper.PageInfo;
import com.iwhalecloud.citybrain.flow.platform.manager.domain.model.notice.FlowNoticeSettingsVo;

import java.util.List;
import java.util.Map;

/**
 * (FlowNoticeSettings)表服务接口
 *
 * @author makejava
 * @since 2021-04-27 18:57:39
 */
public interface FlowNoticeSettingsRepository {

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    FlowNoticeSettingsVo queryById(Integer id);

    /**
     * 查询多条数据
     *
     * @return 对象列表
     */
    PageInfo<FlowNoticeSettingsVo> queryAll(FlowNoticeSettingsVo flowNoticeSettingsVo);

    /**
     * 新增数据
     *
     * @param flowNoticeSettings 实例对象
     * @return 实例对象
     */
    FlowNoticeSettingsVo insert(FlowNoticeSettingsVo flowNoticeSettings);

    /**
     * 修改数据
     *
     * @param flowNoticeSettings 实例对象
     * @return 实例对象
     */
    FlowNoticeSettingsVo update(FlowNoticeSettingsVo flowNoticeSettings);

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    boolean deleteById(Integer id);

    /**
     * 插入或更新/删除
     *
     * @param flowNoticeSettingsVo
     * @return
     */
    int insertOrUpdate(FlowNoticeSettingsVo flowNoticeSettingsVo);

    /**
     * 从第三方获取消息模板列表
     *
     * @return
     */
    Object getTemplates();

}